﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Twc.Deployment.Client.Model;
using Twc.Deployment.Client.Logic.DeploymentActions;
using Twc.Deployment.Client.Logic.Commands;

namespace Twc.Deployment.Client.Logic
{
    public abstract class BaseDeployAction
    {

        public const string SP12HIVE = @"C:\Program Files\Common Files\microsoft shared\Web Server Extensions\12";

        public BaseDeployAction(DeployService deployService)
        {
            DeployService = deployService;
        }

        public string Name
        {
            get;
            private set;
        }

        public abstract DeploymentResult Deploy();

        public abstract DeploymentResult Undeploy();

        
        public DeployService DeployService
        {
            get;
            private set;
        }

        protected ICommandGenerator CommandGenerator
        {
            get;
            set;
        }

    }
}
